const db = require('../mysql/db')

exports.getList = (req,res) => {
    const userInfo = req.auth
    if(!userInfo)return res.cc('获取用户信息失败')
    const sql = 'select * from list where userId = ?'
    db.query(sql,userInfo.id,(err,result)=> {
        if(err)return res.cc(err)
        if(result.length !==0) {
            return res.send( {
                status:0,
                message:'获取列表成功',
                data:result
            })
        }
        res.cc('列表为空',0)
    })
}

exports.addList = (req,res) => {
    let list = req.body
    const userInfo = req.auth
    
    // 检查用户信息是否存在
    if(!userInfo) return res.cc('获取用户信息失败')
    
    // 检查用户ID是否存在
    if(!userInfo.id) return res.cc('用户ID不存在')
    
    // 检查必要的列表字段
    if(!list.name) return res.cc('列表标题不能为空')
    
    // 添加用户ID到列表数据
    list = {...list, userId: userInfo.id}
    console.log('准备添加的列表数据:', list);
    
    const sql = 'insert into list set ?'
    db.query(sql, list, (err, result) => {
        // 处理数据库错误
        if(err) {
            console.error('数据库错误:', err.message)
            return res.cc('数据库操作失败')
        }
        
        // 检查操作结果
        if(result.affectedRows === 1) {
            return res.send({
                status: 0,
                message: '添加成功',
                // 可以返回新添加的记录ID
                id: result.insertId
            })
        }
        
        res.cc('添加失败')
    })
}

exports.updateList = (req,res) => {
   const list = req.body
   const userInfo = req.auth
   if(!userInfo)return res.cc('获取用户信息失败')
   if(list.name === '')return res.cc('列表名称不能为空')
   const sql = 'update list set ? where id = ? and userId = ?'
   const setList = {
    name:list.name,
    startTime:list.startTime,
    endTime:list.endTime
   }
   db.query(sql,[setList,list.id,userInfo.id],(err,result)=> {
      if(err)return res.cc(err)
      if(result.affectedRows === 1) {
        return res.send({
            status:0,
            message:'更新成功'
        })
      }
      res.cc('更新失败')
   })
   
}

exports.deleteList = (req,res) => {
  const id  = req.body.id
  const sql = 'delete from list where id = ?'
  db.query(sql,id,(err,result)=> {
    if(err)return res.cc(err)
    if(result.affectedRows === 1) {
        return res.send({
            status:0,
            message:'删除成功'
        })
      }
      res.cc('删除失败')
  })
}